package TestExercises08;

//算法水题
/*
定义一个方法自己实现toBinaryString方法的效果，将一个十进制整数转成字符串表示的二进制
*/
//解法：不断得除以基数（几进制，基数就是几）得到余数，直到商为0，再将余数倒着拼起来即可
public class Test03 {
    public static void main(String[] args) {

        System.out.println(toBinaryString(6));

    }

    public static String toBinaryString(int number) {
        //核心逻辑：不断地去除以2，得到余数，一直到商为0就结束。
        //还需要把余数倒着拼接起来

        //定义一个StringBuilder用来拼接余数
        StringBuilder sb = new StringBuilder();

        //利用循环不断的除以2获取余数
        while (true) {
            if (number == 0) {
                break;
            }

            //获取余数 %
            int remaindar = number % 2;
            //倒着拼接
            sb.insert(0, remaindar);
            //除以2 /
            number = number / 2;
        }
        return sb.toString();
    }
}
